Platform Explorer / Nuxeo Platform 2023.9

Component org.nuxeo.runtime.avro

Documentation

The Avro component. It provides services - that allow to register and retrieve schemas - that allow to create Avro schemas from custom types - that allow to map Avro records from/to custom types

Resolution Order

832
The resolution order represents the order in which this component has been resolved by the Nuxeo Runtime framework.
You can influence this order by adding "require" tags in your component declaration, to make sure it is resolved after another component.

Start Order

5 (Declared Start Order: -600)
The start order represents the order in which this component has been started by the Nuxeo Runtime framework.
This number is interesting to tweak if your Java component interacts with other components, and needs to be started before or after another one.
It can be changed by implementing the method "Component#getApplicationStartedOrder()" on your Java component: components are sorted according to this reference value, in increasing order.
The default value is 1000, and the repository initialization uses number 100. Negative values can also be used.

Implementation

Class: org.nuxeo.runtime.avro.AvroComponent

Services

Extension Points

XML Source

<?xml version="1.0" encoding="UTF-8"?>
<component name="org.nuxeo.runtime.avro" version="1.0">

  <documentation>
    The Avro component.
    It provides services
    - that allow to register and retrieve schemas
    - that allow to create Avro schemas from custom types
    - that allow to map Avro records from/to custom types
  </documentation>

  <implementation class="org.nuxeo.runtime.avro.AvroComponent" />

  <service>
    <provide interface="org.apache.avro.message.SchemaStore" />
    <provide interface="org.nuxeo.runtime.avro.AvroService" />
  </service>

  <extension-point name="schema">
    <documentation>
      Allows to register an Avro schema file with a name.
    </documentation>
    <object class="org.nuxeo.runtime.avro.AvroSchemaDescriptor" />
  </extension-point>

  <extension-point name="factory">
    <documentation>
      Allows to register an Avro Factory implementation dedicated to a custom type.
    </documentation>
    <object class="org.nuxeo.runtime.avro.AvroSchemaFactoryDescriptor" />
  </extension-point>

  <extension-point name="replacement">
    <documentation>
      Allows to register a replacement scheme for any string not supported by Avro.
    </documentation>
    <object class="org.nuxeo.runtime.avro.AvroReplacementDescriptor" />
  </extension-point>

  <extension-point name="mapper">
    <documentation>
      Allows to register an Avro Mapper implementation dedicated to a custom type.
    </documentation>
    <object class="org.nuxeo.runtime.avro.AvroMapperDescriptor" />
  </extension-point>

</component>